この ポータビリティ向け異種コンピューティングインターフェース(HIP) NVIDIAとAMDの両方のGPU用に統合されたコードベースを提供する、ハードウェアレイヤーを抽象化するC++ランタイムAPIを提供します。このアプローチにより、CUDA環境を模倣しながらROCmバックエンドをターゲットとするため、ベンダーによる縛りが解消されます。 ROCm バックエンドです。
1. 環境設定
初期化は、 hipcc コンパイラが正しいツールチェインを指すように環境変数を設定することから始まります:
$ export HIP_PATH=[MYHIP]
$ export PATH=$PATH:[MYHIP]/bin
$ export PATH=$PATH:[MYHIP]/bin
2. ツールチェインの標準化
この hipcc コンパイラはスマートラッパーとして機能します。ビルド自動化のために、 HIP_PATH ?= $(shell hipconfig --path) ロジックにより、システム構成に関係なく、Makefileが動的にHIPインストール先を検出できるようになります。
3. バージョン管理ロジック
HIPは、リリース間で機能の可用性をプログラム的に処理するために、決定論的なバージョン管理式を使用します:
$$\text{HIP\_VERSION} = \text{HIP\_VERSION\_MAJOR} \times 10^7 + \text{HIP\_VERSION\_MINOR} \times 10^5 + \text{HIP\_VERSION\_PATCH}$$
4. コアランタイム同等機能
HIPは hipMalloc および hipLaunchKernel CUDAのメモリおよび実行呼び出しの機能的鏡像として提供し、「シングルソース」開発哲学を可能にします。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>